package org.example.com.service;

import org.example.com.pojo.Post;
import org.example.com.pojo.vo.PostVO;

import java.util.List;

/**
 * 帖子Service接口
 */
public interface PostService {
    
    /**
     * 创建帖子
     */
    Post createPost(Post post, List<String> images, List<String> topics);
    
    /**
     * 分页查询帖子列表
     */
    List<PostVO> getPosts(Integer page, Integer limit, Integer currentUserId);
    
    /**
     * 根据用户ID查询帖子列表
     */
    List<PostVO> getPostsByUserId(Integer userId, Integer page, Integer limit, Integer currentUserId);
    
    /**
     * 根据ID查询帖子详情
     */
    PostVO getPostById(Integer id, Integer currentUserId);
    
    /**
     * 更新帖子
     */
    boolean updatePost(Post post, List<String> images, List<String> topics);
    
    /**
     * 删除帖子
     */
    boolean deletePost(Integer id);
    
    /**
     * 点赞帖子
     */
    boolean likePost(Integer postId, Integer userId);
    
    /**
     * 取消点赞帖子
     */
    boolean unlikePost(Integer postId, Integer userId);
    
    /**
     * 分享帖子
     */
    boolean sharePost(Integer postId);
}
